The present disclosure relates to testing applications, and more specifically, to testing applications using instrumentation.
Applications in modern electronic devices, such as mobile devices, may have internal modules that can interact with external modules, such as user interfaces. An internal module refers to a module of an application that is accessed via another module in the application. For example, an internal module may correspond to private activities in a mobile application or mobile platform that do not include user interaction. An internal module can be accessed by another internal module or an external module via inter-process communication (IPC) channels at interface points. An external module refers to a module in an application that can be accessed by an end user or another application, among others. Developers generally test internal modules by developing customized tests for testing internal modules. However, customized testing can be error prone and may also leave potential security threats untested.